var http = require('http');
var fs = require('fs');
var path = require('path');
var urlModule = require('url');

// 创建 HTTP 服务器
var server = http.createServer();

// 定义 MIME 类型映射
var mimeTypes = {
    "css": "text/css;charset=utf-8",
    "jpg": "image/jpeg",
    "html": "text/html;charset=utf-8"
};

// 监听请求事件
server.on('request', function (request, response) {
    // 解析请求的 URL
    var url = urlModule.parse(request.url).pathname;

    if (url === '/') {
        // 读取首页文件
        fs.readFile(path.join(__dirname, 'index.html'), 'utf-8', function (err, data) {
            if (err) {
                console.log(err);
            } else {
                // 设置响应头
                response.setHeader('Content-type', mimeTypes['html']);
                // 发送响应数据
                response.end(data);
            }
        });
    } else if (url === '/product.html') {
        // 读取 CSS 文件
        var cssPath = path.join(__dirname, '/product.html');
        fs.readFile(cssPath, 'utf-8', function (err, data) {
            if (err) {
                console.log(err);
            } else {
                // 设置响应头
                response.setHeader('Content-type', mimeTypes['html']);
                // 发送响应数据
                response.end(data);
            }
        });
    } else if (url === '/images/pro-1.jpg') {
        // 读取图片文件
        var imgPath = path.join(__dirname, '/images/pro-1.jpg');
        fs.readFile(imgPath, function (err, data) {
            if (err) {
                console.log(err);
            } else {
                // 设置响应头
                response.setHeader('Content-type', mimeTypes['jpg']);
                // 发送响应数据
                response.end(data);
            }
        });
    } else if (url === '/images/pro-2.jpg') {
        // 读取图片文件
        var imgPath = path.join(__dirname, '/images/pro-2.jpg');
        fs.readFile(imgPath, function (err, data) {  
            if (err) {
                console.log(err);
            } else {
                // 设置响应头
                response.setHeader('Content-type', mimeTypes['jpg']);
                // 发送响应数据
                response.end(data);
            }
        });
    } else {
        // 读取 404 页面文件
        fs.readFile(path.join(__dirname, '404.html'), 'utf-8', function (err, data) {
            if (err) {
                console.log(err);
            } else {
                // 设置响应头
                response.setHeader('Content-type', mimeTypes['html']);
                // 发送响应数据
                response.end(data);
            }
        });
    }
});

// 启动服务器并监听 3000 端口
server.listen(3000, function () {
    console.log('listening port 3000...');
});